HPC存储:应对变革(PPT)
核心观点:
存储设备技术、数据使用案例和HPC用户社区都在迅速演进。这些都是巨大的机遇!
HPC存储社区必须积极拥抱这一发展,并在研究和实践之间取得平衡,以最大程度地实现影响力。
深度思考如何将研究成果转化为实际应用。
REX-IO研讨会
高性能计算(HPC)应用正不断演进,不再局限于传统的规模扩大建模和模拟,以及大规模同步工作负载,而是涵盖了人工智能(AI)、数据分析方法、深度学习、大数据和复杂多步骤工作流等规模扩大工作负载。这些新兴工作负载引入了新的I/O子系统,超越传统的两层文件系统,可能在I/O性能和可扩展性方面出现性能瓶颈。
另一个性能方面的挑战是,在大规模集群环境中,并行文件和存储系统的复杂性不断增加。新兴HPC工作负载的演变,以及计算和存储性能能力之间差距的不断扩大,强调了深入了解极端规模I/O工作负载的重要性,以及重新思考现有数据存储和管理技术的紧迫需求。
本研讨会征集具有创新性的研究,对新兴HPC工作负载的I/O行为进行特征化,并识别科学数据和存储管理方面的挑战,提出潜在的解决方案以减轻其中一些挑战,并展示所提出解决方案的有效性。我们期望本研讨会将通过分析新兴HPC工作负载、认识数据管理方法中的差距,并提供改善I/O性能的新技术,为E级计算时代以及未来做出贡献。
Phil Carns
Phil Carns是美国阿贡国家实验室数学与计算机科学部的计算机科学家。他还是克莱姆森大学电气与计算机工程的荣誉副教授,以及西北-阿贡科学与工程学院的研究员。他于2005年从克莱姆森大学获得计算机工程博士学位。
Phil自2008年以来一直在阿贡国家实验室工作,担任多个重要的HPC研究项目的技术负责人、首席研究员和开发人员,包括Darshan(应用I/O特性)、TOKIO(平台I/O特性)、Mochi(可组合数据服务)、PVFS(并行文件系统)、CODES(存储系统模拟)以及E级计算项目(exascale平台的数据库与服务)。Phil曾多次获得R&D 100奖。他的研究兴趣包括HPC存储架构、HPC系统软件和I/O工作负载分析。
PPT原文
E级计算系统已经来临:这对HPC存储意味着什么?
几乎所有问题领域都具备数据密集性,而前所未有的计算能力则要求前所未有的存储能力。
仅仅更快地完成我们一直在做的事情已经不够了。需要考虑一些问题:
现有的存储系统架构能否充分发挥新设备技术的潜力?
我们需要适应哪些新兴的数据使用场景?
如何吸纳来自更广泛问题领域的新用户?
新设备技术的挑战
截至2023年10月:可以以85美元的价格获得一款现成的存储部件: 100万IOPS,和 7 GB/s带宽 但需额外5美元来买散热片 虽然具备嵌入式计算功能的设备并不那么便宜,也没有那么广泛普及,但它们正在逐渐普及。
例如:许多数据密集型算法依赖于从庞大数据集中提取样本的统计或人工智能方法。 因此产生的存储访问模式通常对外部观察者来说是不可预测的。 这对于一般用途的缓存和预取来说不利,但现代设备特性应该能够很好地直接处理这种工作负载。
传统HPC存储架构的设计目标是在分散的系统中实现最大的总带宽。 然而,由此产生的架构模型对响应时间并不理想。 存在许多“跳跃点”,每个跳跃点都具有自己的串行化、协议和缓冲机制。 如何在这种环境中充分发挥新型存储设备的优势? 这是一个众所周知的问题,已经采用了多种潜在解决方案。 为满足个别随机读取的需求,设计用于最大化总吞吐量的系统并不适用。
一个明显的解决方案是(同时)提供本地附加的暂存设备或Burst缓存层。 这对用户体验有何影响? 他们如何进行数据分阶段? 他们是否仍然可以使用共享数据结构,还是只能使用本地数据结构? 应用程序是否仍然负责将数据模型映射到本地POSIX文件? 智能设备在哪里,如何在保持可移植性的同时使用它们? 总体数据工作流在具有不同设备的系统之间有多可移植?
传统的存储资源通常被视为具有不同特性的独立存储“仓库”(延迟、带宽、共享等),但这可能会带来问题。 潜在的陷阱: 缺乏整合:名称空间和策略的碎片化 过于泛化:最基本的API无法充分利用设备特性 保守的硬件假设:调度、复制和放置策略对于现代设备可能过于保守 我们是否可以超越这一模型,部署一致的按需服务,具有灵活的API,适应可用的硬件资源... 并仍然保持可移植性?
云服务已经非常成功,提供了各种数据服务类型和存储设备特性。 它们正在普及选择最适合当前任务的解决方案的概念。
Mochi项目提供了一个坚实、可重复使用、模块化和可连接的数据管理组件和微服务库,以及将它们组合成专门的分布式数据服务的方法。 最初的构想是为不同应用需求实现专业化。 最近的工作还在推动更大的架构适应性: 在可用时使用智能设备 服务弹性以有效地利用资源。
ALCF的例子:有一千多名用户和数百个项目。 DOE分配计划竞争激烈,涵盖多样的领域。 这是高性能计算中计算机科学的最大胜利之一:使尖端计算资源对所有研究人员都可访问。 然而,我们(计算机科学家)实际上并不真正了解所有这些研究人员如何使用存储,更不用说他们期望如何使用存储。
通过查看ALCF等地的用户活动,你可以了解应用趋势。 现在已不仅仅是Fortran线性代数(而且已经有很长时间了);活动侧重于加速器、机器学习、数据、神经形态算法、神经网络等。 科学家们采用各种数据模型和编程模型来实现他们的目标。
现代科学计算领域不仅包括观测数据管理、模拟、机器学习、分析等等... ...而且越来越多地将这些元素组合到一个单一工作流程中! 一个单一工作流程同样可能采用广泛的数据管理方法。
工作流程范例还引入了一个新的元用例:存储和使用关于工作流程的溯源数据。 为什么这很重要: 如何重现你的结果? 如果结果不一致怎么办? 如果性能不一致怎么办?
混合工作流:处理包括数据密集任务和数值计算在内的工作流 性能可再现性:通过使用一致的配置集,最小化不同运行之间的变化 结果可再现性:在一定误差范围内实现结果的统计可再现性
这意味着要解决那些传统文件系统无法很好应对的新数据使用案例挑战: 以一致的方式大规模汇总各种遥测数据 吸收不仅原始数据,还有其血统和演变,以进行比较分析 确保数据可查找、可访问、可互操作、可重用(FAIR原则)。
FAIR / 元数据 / 溯源 / 可重复性只是推动当今HPC存储领域新使用案例的一个例子。 还有许多其他新兴使用案例正在涌现。 我们需要更多的工作来考虑科研社群的需求。 不要忘记,计算机科学也是真正的科学! 更快速和更大容量的存储固然不错,但这并不意味着一切照旧。
“8 GiB/s听起来不错。” “等等,我刚刚查了查设施文档。我应该获得数百GB/s!” “特技模式”平台基准对于真实用户来说至少是误导性的。 像Darshan这样的工具可以提供更有意义的应用I/O行为洞察。 目标:为用户提供易于理解且与其目标和规模相关的指标。
解释需要场景信息: 空间:该应用程序如何与相似或同时运行的应用程序相关联? 时间:此工作负载以前的性能如何? 科学目标:高吞吐量存储是否真正有助于提高生产率? 场景信息至关重要...前提是数据可以被解释。科学家对他们选择的领域充满激情,而不是并行文件系统的神秘。我们需要弥合这一差距。 此外,需要认识到用户群体在不断增长,但I/O专家群体没有相应增加。
平台:有哪些工作负载,你能将它们分组以获得洞察? 工作流程或领域:相似的任务是如何表现的,为什么有些更快? 应用程序:I/O在作业内是如何分布的?
以前的运行(你自己的应用程序或类似的应用程序)也可以作为参考点。 了解当前性能是否正常或异常。 洞察影响性能的可变性和相关系统因素。 有时性能会因用户无法控制的原因而发生变化。
产生最短模拟运行时间的I/O技术未必会产生最高的科学生产力。 用户必须考虑他们的数据管理和分析需求。 数据管理策略如何影响整个工作流程?
如何将这丰富的场景信息转化为易于使用的东西? 有很多关于I/O调优的出版物,但我们作为一个社区还没有将其提炼并传达给利益相关者。 如果我们能够自动识别简洁而突出的特点,为用户提供最佳的“性价比”会怎样? “对于这个文件的工作负载在/mnt/foo上性能更好” “这个文件的条带设置不佳;请设置提示“abracadabra” “写操作交错且不对齐;尝试使用集体写入。” 我们是否可以更进一步,量化潜在的收益和成本,以帮助用户应对系统?
Drishti(由LBNL的Jean Luca Bez提供)是解释的下一步的一个示例: 除了特征化和分析之外,为用户提供可操作的建议。 这个示例展示了应用程序中I/O问题的人类可读解释。
Drishti还可以提供建议措施;在这个示例中是一个代码片段。
如果你需要进行优化的不仅仅是一个应用程序,而是一个整个按需存储架构,会怎么样呢? 设想一下:“像一位HPC I/O专家一样操作。以下是我工作负载和组成的描述。提供一个良好的初始配置。” 对于像HPC存储配置这样复杂的问题,LLM可能不是理想的选择,但机器学习方法可以生成代理模型,帮助我们更快速、更可重复、更可预测地探索参数空间,以找到优秀的解决方案。
存储设备技术、数据使用案例和HPC用户社区都在迅速演进。这些都是巨大的机遇! HPC存储社区必须积极拥抱这一发展,并在研究和实践之间取得平衡,以最大程度地实现影响力。 可以参考诸如“转化性计算机科学”之类的概念框架,以获得如何将研究成果转化为实际应用的启发。
---【本文完】---
近期受欢迎的文章:
我们正处于数十年未见之大机遇中
新技术爆发式发展,催生新产品
然而,颠覆式创新并非简单的技术堆叠
而是异常复杂的系统工程
需要深度洞察
欢迎一起分享思考和见解